package com.chuanyang.driverh.utils;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
 * 西风多少恨，吹不散眉弯！—唐大帅
 *
 * @author 唐帅
 *         获取特定格式的时间
 *         created at
 */

public class TimeUtils {

    public static String getForamtTime(String foramt) {
        //new日期对象
        Date date = new Date();
        //转换提日期输出格式
        SimpleDateFormat dateFormat = new SimpleDateFormat(foramt);//yyyy-MM-dd HH:mm:ss
        return dateFormat.format(date);
    }
//获得当月1日
    public static String getStartTime() {
        //new日期对象
//        Date date = new Date();
        Calendar c=new GregorianCalendar();
        c.set(Calendar.DAY_OF_MONTH,1);
        c.set(Calendar.HOUR_OF_DAY,0);
        c.set(Calendar.MINUTE,0);
        c.set(Calendar.SECOND,0);
        //转换提日期输出格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//yyyy-MM-dd HH:mm:ss

        return dateFormat.format(c.getTime());
    }
    //得到截止日期。
    public static String getEndTime() {
        Calendar c=new GregorianCalendar();
        c.set(Calendar.DAY_OF_MONTH,c.getMaximum(Calendar.DAY_OF_MONTH));
        c.set(Calendar.HOUR_OF_DAY,23);
        c.set(Calendar.MINUTE,59);
        c.set(Calendar.SECOND,59);
        //转换提日期输出格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//yyyy-MM-dd HH:mm:ss
        return dateFormat.format(c.getTime());
    }


    //获取样式为 08-12 12:30格式的时间
    public static String getStandardTime(Long mim) {
        if(mim==null)
        {
            return   "0";
        }
        //new日期对象
        Date date = new Date(mim*1000);
        //转换提日期输出格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");//yyyy-MM-dd HH:mm:ss
        return dateFormat.format(date);
    }
    //获取样式为 08-12 12:30格式的时间
    public static String getStandardTimeDay(Long mim) {
        if(mim==null)
        {
            return   "0";
        }
        //new日期对象
        Date date = new Date(mim*1000);
        //转换提日期输出格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");//yyyy-MM-dd
        return dateFormat.format(date);
    }


    //获取样式为 08-12 12:30格式的时间
    public static String getCurrentStandardTime() {
        //new日期对象
        Date date = new Date();
        //转换提日期输出格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");//yyyy-MM-dd HH:mm:ss
        return dateFormat.format(date);
    }
    //获取样式为 08-12 12:30格式的时间
    public static String getStandardTime(String strmim) {
        Long time= Long.parseLong(strmim);
        //new日期对象
        Date date = new Date(time*1000);
        //转换提日期输出格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");//yyyy-MM-dd HH:mm:ss
        return dateFormat.format(date);
    }

    //获取距离现在还有几分钟
    public static String getMiniter(String timeMiliins) {
        if (StringUtil.isBlank(timeMiliins))return "";
        try {
            long fut=Long.parseLong(timeMiliins)*1000;
            long now=System.currentTimeMillis();
            long sec=(fut-now)/1000;
            if (sec<=0)return "0分钟";
            String time="";
            if (sec>60*24*60){
//                time=StringUtil.getDouble(min/24/60+"")+"天";
                time=sec/24/60/60+"天";
            }else if(sec>60*60){
//                time=StringUtil.getDouble(min/60+"")+"小时";
                time=sec/60/60+"小时";
            }else  if(sec>60){
//                time=StringUtil.getDouble(min+"")+"分钟";
                time=sec/60+"分钟";
            }else {
                time=sec+"秒";
            }
            return time;
        } catch (NumberFormatException e) {
            e.printStackTrace();
            return "0分钟";
        }

    }



    //获取距离现在还有几分钟
    public static String getLeftTime(long second) {
        if (second<=0)return "已过期";
        try {
            String time="";
            if (second>60*24*60){
//                time=StringUtil.getDouble(min/24/60+"")+"天";
                time=second/24/60/60+"天";
            }else if(second>60*60){
//                time=StringUtil.getDouble(min/60+"")+"小时";
                time=second/60/60+"小时";
            }else  if(second>60){
//                time=StringUtil.getDouble(min+"")+"分钟";
                time=second/60+"分钟";
            }else {
                time=second+"秒";
            }
            return time;
        } catch (NumberFormatException e) {
            e.printStackTrace();
            return "0分钟";
        }

    }

}
